﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DaoHam
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int x = Int32.Parse(textBox1.Text);
            richTextBox1.Clear();
            //DonThuc BTa = new DonThuc(3, 3);
            //richTextBox1.AppendText(BTa.XuatBieuThuc());

            //float Tinha = BTa.TinhBieuThuc(x);
            //richTextBox1.AppendText("\n"+Tinha.ToString());

            //BieuThuc BTb = BTa.TinhDaoHam();
            //richTextBox1.AppendText("\n"+BTb.XuatBieuThuc());
            //float Tinhb = BTb.TinhBieuThuc(x);
            //richTextBox1.AppendText("\n"+Tinhb.ToString());


            BieuThuc bt = new BieuThucTich(new BieuThucChia(new BieuThucTru(DonThuc.TaoDonThuc(3, 3), HangSo.TaoHangSo(6)),
                                                            new BieuThucTich(DonThuc.TaoDonThuc(4, 2), DonThuc.TaoDonThuc(8, 5))
                                                            ),
                                            new BieuThucTong(DonThuc.TaoDonThuc(1,4), DonThuc.TaoDonThuc(1, 1))
                                           );

            richTextBox1.AppendText(bt.XuatBieuThuc());//Xuat bieu thuc vừa tạo

            float Tinhbt = bt.TinhBieuThuc(x);//Tính giá trị biểu thức với x
            richTextBox1.AppendText("\n"+Tinhbt.ToString());//Xuất biểu thức vừa tính

            BieuThuc DaoHambt = bt.TinhDaoHam();//Tính đạo hàm
            richTextBox1.AppendText("\n"+DaoHambt.XuatBieuThuc());//Xuất đạo hàm vừa tính

            float TinhDaoHambt = DaoHambt.TinhBieuThuc(x);//Tính giá trị của biểu thức đạo hàm với x
            richTextBox1.AppendText("\n"+TinhDaoHambt);// xuất



            //Xuất Prefix của biểu thức
            Convert cv = new Prefix();
            richTextBox1.AppendText("\n\n" + bt.ToString(cv));// xuất

    
        }
    }
}
